home *** CD-ROM | disk | FTP | other *** search
/ ShareWare OnLine 2 / ShareWare OnLine Volume 2 (CMS Software)(1993).iso / os2 / remin301.zip / REMIN300.ZIP / GLOBALS.H < prev    next >
C/C++ Source or Header  |  1992-11-10  |  4KB  |  112 lines

  1. /***************************************************************/
  2. /*                                                             */
  3. /*  GLOBALS.H                                                  */
  4. /*                                                             */
  5. /*  This function contains declarations of global variables.   */
  6. /*  They are instantiated in main.c by defining                */
  7. /*  MK_GLOBALS.  Also contains useful macro definitions.       */
  8. /*                                                             */
  9. /*  This file is part of REMIND.                               */
  10. /*  Copyright (C) 1991 by David F. Skoll.                      */
  11. /*                                                             */
  12. /***************************************************************/
  13.  
  14. #ifdef MK_GLOBALS
  15. #undef EXTERN
  16. #define EXTERN
  17. #define INIT(var, val) var = val
  18. #else
  19. #undef EXTERN
  20. #define EXTERN extern
  21. #define INIT(var, val) var
  22. #endif
  23.  
  24. #define DaysInYear(y) (((y) % 4) ? 365 : ((!((y) % 100) && ((y) % 400)) ? 365 : 366 ))
  25. #define IsLeapYear(y) (((y) % 4) ? 0 : ((!((y) % 100) && ((y) % 400)) ? 0 : 1 ))
  26. #define DaysInMonth(m, y) ((m) != 1 ? MonthDays[m] : 28 + IsLeapYear(y))
  27.  
  28. EXTERN    int    JulianToday;
  29. EXTERN    int    RealToday;
  30. EXTERN    int    CurDay;
  31. EXTERN    int    CurMon;
  32. EXTERN    int    CurYear;
  33. EXTERN    int    FirstYear;
  34. EXTERN  int    LineNo;
  35. EXTERN  char    FreshLine;
  36. EXTERN  char    LineBuffer[LINELEN];
  37. EXTERN  char    SubstBuffer[LINELEN];
  38. EXTERN  char    TokBuffer[TOKSIZE+1];
  39. EXTERN  INIT(    char    ShowAllErrors, 0);
  40. EXTERN  INIT(    int     DebugFlag, 0);
  41. EXTERN  INIT(   char    DoCalendar, 0);
  42. EXTERN  INIT(   char    DoSimpleCalendar, 0);
  43. EXTERN  INIT(   int     CalWidth, 80);
  44. EXTERN  INIT(   int     CalWeeks, 0);
  45. EXTERN  INIT(   int     CalMonths, 0);
  46. EXTERN  INIT(    char    Hush, 0);
  47. EXTERN  INIT(    char    NextMode, 0);
  48. EXTERN  INIT(    char    InfiniteDelta, 0);
  49. EXTERN  INIT(   char    RunDisabled, 0);
  50. EXTERN  INIT(   char    IgnoreOnce, 0);
  51. EXTERN  INIT(   char    Banner[LINELEN], "Reminders for %w, %d%s %m, %y%o:");
  52. EXTERN    char    *InitialFile;
  53. EXTERN    int    FileAccessDate;
  54.  
  55. #ifdef HAVE_QUEUED
  56. EXTERN  INIT(    char    DontFork, 0);
  57. EXTERN  INIT(    char    DontQueue, 0);
  58. EXTERN  INIT(   int     NumQueued, 0);
  59. EXTERN  INIT(   char    DontIssueAts, 0);
  60. EXTERN  INIT(   char    Daemon, 0);
  61. #endif
  62.  
  63. EXTERN  INIT(   int     ScFormat, SC_AMPM);
  64. EXTERN  INIT(   int     MaxSatIter, 150);
  65. EXTERN  INIT(    char    *FileName, NULL);
  66. EXTERN  FILE *ErrFp;
  67. EXTERN  INIT(    int    JulFirst,  -1);
  68. EXTERN  INIT(   int     NumIfs,    0);
  69. EXTERN  INIT(   unsigned int IfFlags,   0);
  70. EXTERN  INIT(   int     LastTriggerDate, 0);
  71. EXTERN  INIT(   char    LastTrigValid, 0);
  72. EXTERN  INIT(   int     LastTriggerTime, 0);
  73. EXTERN  INIT(   char    ShouldCache, 0);
  74. EXTERN  char    *CurLine;
  75. EXTERN  INIT(   int     NumTriggered, 0);
  76. EXTERN  int ArgC;
  77. EXTERN  char **ArgV;
  78.  
  79. /* List of months */
  80. EXTERN    char    *MonthName[]
  81. #ifdef MK_GLOBALS
  82. = {"January", "February", "March", "April", "May", "June",
  83.    "July", "August", "September", "October", "November", "December" }
  84. #endif
  85. ;
  86.  
  87. EXTERN    char    *DayName[]
  88. #ifdef MK_GLOBALS
  89. = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday",
  90.    "Sunday"}
  91. #endif
  92. ;
  93.  
  94. EXTERN    int    MonthDays[]
  95. #ifdef MK_GLOBALS
  96. = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
  97. #endif
  98. ;
  99.  
  100. /* The first day of each month expressed as number of days after Jan 1.
  101.    Second row is for leap years. */
  102.  
  103. EXTERN    int    MonthIndex[2][12]
  104. #ifdef MK_GLOBALS
  105. = {
  106.     { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 },
  107.     { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 }
  108.   }
  109. #endif
  110. ;
  111.  
  112.